home *** CD-ROM | disk | FTP | other *** search
- // -------------------------------------------------------------------------------------
- // Portfolio.h
- // -------------------------------------------------------------------------------------
-
- extern "Objective-C" {
- #import <mach/cthreads.h>
- #import <objc/Object.h>
- }
-
- #import "ParseString.h"
-
- // -------------------------------------------------------------------------------------
- // file name linked list
- typedef struct fileLIST_s {
- ParseString list;
- int flags;
- struct fileLIST_s *next;
- } fileLIST;
-
- // -------------------------------------------------------------------------------------
- @interface Portfolio : Object
- {
-
- char *sourceFile; // source file name
- BOOL abortLoad; // abort/flush file loading
- BOOL allowDrop; // register for file drop from Workspace
- BOOL isActivePortfolio; // active portfolio
- BOOL adjustPreferences; // allow pref adjustment
- id fileIcon; // file representation icon
-
- mutex_t loadMutex; // load list lock
- fileLIST *loadList; // file name linked list
-
- id paletteWindow; // icon Palette panel
- NXSize minWindowSize; // minimum window size for current cell size
- NXSize minCellSize; // minimum cell size
- NXSize windowOverhead; // delta size between window and contentView
- BOOL isRegistered; // true if window is registered for dragging
-
- id expandImage; // expanded view object
-
- id paletteScroll; // icon Palette scroller
- id iconButtonId; // workspace icon view button
- id iconBoxId; // icon view button box
- id iconPathId; // image path name outlet
- id iconSizeId; // image size outlet
- id iconColors; // image colors outlet
- id iconMatrix; // icon Palette matrix
-
- id windowHeader; // image infor header box
- NXSize headerSize; // size of window header
-
- }
-
- // -------------------------------------------------------------------------------------
-
- // instance initialization
- - init;
- - initFromList:(const ParseString*)fileNames;
- - initFromList:(const ParseString*)fileNames registerWindow:(BOOL)regWindow;
- + firstInstance;
-
- // active portfolio
- - becomeActivePortfolio:sender;
- - resignActivePortfolio:sender;
- - (BOOL)isActivePortfolio;
- + makeActivePortfolio:(Portfolio*)portObj;
- + activePortfolio;
-
- // button/menu actions
- - show:sender;
- - open:sender;
- - save:sender;
- - saveAs:sender;
- - saveDefaults:sender;
-
- // document status methods
- + (BOOL)isDocEdited;
- - (BOOL)isDocEdited;
- - (BOOL)isLoading;
-
- // font methods
- - font;
- - setFont:fontObj;
-
- // non-scaled image view methods
- - expandImage;
- - showLargeImage:sender;
-
- // window size constraints
- - getWindowSize:(NXSize*)windowSize forCellSize:(NXSize*)cellSize gap:(NXSize*)gapSize
- rows:(int)rows cols:(int)cols;
- - getDisplayedRows:(int*)rows cols:(int*)cols;
- - (NXSize*)cellSize;
-
- // PaletteCell delegate methods
- - loadFileString:(const char*)fileString :(BOOL)openDoc :(BOOL)chkExtn;
- - loadFileList:(const ParseString*)fileNames :(BOOL)openDoc :(BOOL)chkExtn;
- - cellBecameSelected:imageCell;
- - cellResignedSelected:imageCell;
-
- // icon dragging delegate support
- - _registerWindow;
- - _unregisterWindow;
-
- @end
-